home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / readers / skim-0.8 / skim-0 / skim-0.8.4 / README < prev    next >
Text File  |  1996-02-18  |  50KB  |  1,204 lines

  1.  
  2.  
  3.  
  4.                     SKIM version 0.8.4
  5.  
  6.                             by
  7.  
  8.              Rene W.J. Pijlman
  9.              <R.W.Pijlman@inter.NL.net>
  10.  
  11.               February 18, 1996
  12.  
  13.  
  14.  
  15.  
  16.        +---------------------------------------+
  17.        | This README contains the installation |
  18.        | instructions and a user's guide.      |
  19.        +---------------------------------------+
  20.  
  21.  
  22.  
  23. INTRODUCTION
  24.  
  25. Skim is a graphical offline newsreader for Linux. Skim is designed to minimize
  26. the on-line time when it's used over a slow modem line (e.g. 14K4 Slip/PPP).
  27.  
  28. To use skim, you need access to a news server which supports both the standard
  29. NNTP protocol (RFC 977) and the XOVER extension. See also the CONFIGURATION
  30. section.
  31.  
  32. Skim has both a command line interface (skim) and a graphical interface (xskim).
  33.  
  34. How does skim reduce the connect time?
  35.  
  36.   1) Initially you use skim to fetch only the relevant header lines of the
  37.      articles. Skim uses the relatively efficient News OverView (NOV) database
  38.      of your news server. Skim does not automatically fetch complete articles,
  39.      complete headers or a list of all newsgroups like many other newsreaders
  40.      do.
  41.  
  42.   2) When fetching subjects or selected articles, skim starts multiple parallel
  43.      sessions with the news server to saturate the communication channel.
  44.  
  45.   3) Skim does not need a connection with the newsserver while you are
  46.      skimming and selecting subject lines.
  47.  
  48. How to get started:
  49.  
  50.   1) Read the INSTALLATION section, and do what it says.
  51.  
  52.   2) Read the CONFIGURATION section, and do what is says.
  53.  
  54.   3) Read the GETTING STARTED section, and do what it says.
  55.  
  56.   4) Read the USER'S GUIDE, and do what it says.
  57.  
  58. If you have questions about skim, or suggestions for improvement, or when you
  59. have problems installing it please post to comp.os.linux.networking. When the
  60. word "skim" is in the subject there's a good chance that I'll read it, since
  61. this is in my AutoSelect pattern.
  62.  
  63. When you think you've found a bug, mail the information to me. Be specific.
  64. List version numbers, error messages etc. But please understand that I cannot
  65. provide support and assistance to all users of skim. In general it is better
  66. to first discuss the problem in comp.os.linux.networking, since someone may
  67. already have found a solution or workaround.
  68.  
  69. "... And remember: if you don't like the news, go out and make some of
  70. your own."
  71.             -- "Scoop" Nisker, KFOG radio reporter
  72.            Preposterous Words
  73.  
  74.  
  75. SYSTEM REQUIREMENTS
  76.  
  77. Skim is distributed as a set of C sources, shell scripts and Tcl/Tk scripts.
  78. I developed and tested it on an ELF system based on the Red Hat 2.1 distribution
  79. with a 1.3 development kernel and libc 5.0.x. Since the skim distribution 
  80. contains only source files, you should be able to build skim on an older a.out 
  81. system with libc 4.7.x, but I did not, cannot and will not verify this.
  82.  
  83. xskim requires Tcl 7.4 and Tk 4.0. I don't think xskim will work with older
  84. versions.
  85.  
  86. The Makefile uses the extensions of GNU make. I don't think it will work with
  87. a traditional version of make.
  88.  
  89. The table below lists the software that skim requires and the version of the 
  90. software that I used for development and testing.
  91.  
  92.  
  93.   Package:            Required version:     Version used when 
  94.                                             developing skim:
  95.   ----------------------------------------------------------------------
  96.   Linux kernel                              1.3.42 (ELF)
  97.   gcc                                       2.7.0 (ELF)
  98.   libc                                      5.0.9 (ELF) containing
  99.                                             GNU rx-0.07.1.
  100.   Tcl (*)             7.4                   7.4.0 (ELF)
  101.   Tk (*)              4.0                   4.0 (ELF)
  102.   make                                      GNU Make version 3.74
  103.   bash                                      GNU bash, version 1.14.5(1)
  104.   sed                                       GNU sed version 2.05
  105.   grep                                      GNU grep version 2.0
  106.   cat,sort                                  GNU textutils 1.13
  107.   touch,cp,rm,mv                            GNU fileutils 3.12
  108.   find                                      GNU find version 4.1
  109.   m4                                        GNU m4 1.4
  110.  
  111. (*) You need Tcl and Tk only when you want to use the graphical 
  112.     interface (xskim).
  113.  
  114. CHANGES
  115.  
  116.   0.8.2 -> 0.8.4
  117.  
  118.     - Integrated changes from Joel Young <jdyoung@erinet.com> and fixed some
  119.       problems to make xskim work with Tcl 4.7 and Tk 4.0. TclX is no longer 
  120.       required. I don't think xskim can still be used with older versions of 
  121.       Tcl/Tk.
  122.  
  123.     - Skim now automatically saves the changes in the subject list when you
  124.       leave a newsgroup. The button "Save Changes" has disappeared.
  125.  
  126.     - Skim now automatically saves the changes in an article when you leave
  127.       the article edit window.
  128.  
  129.     - In xskim you can now use the right mouse button to select/unselect
  130.       the selected subjects. Click <Left button><Right button> to 
  131.       select/unselect one subject. You no longer need to move the mouse 
  132.       to the Select/Unselect buttons.
  133.  
  134.     - Skim no longer terminates whenever the news server returns an error.
  135.       For example, when an article that you had selected is no longer
  136.       available on the news server, skim now issues a warning and continues
  137.       normally. The old behavior confused many users, since an error in one
  138.       newsgroup would prohibit skim from fetching subjects or articles in an
  139.       unpredictable subset of the remaining newsgroups.
  140.  
  141.     - It appears that the GNU regular expression matching functions in
  142.       libc 5.0.9 are unstable. When the regular expressions are large and
  143.       complex core dumps occur in re_compile_pattern(). For this reason,
  144.       skim now uses POSIX regular expression matching instead. Skim now
  145.       interprets AutoSelect and Kill patterns as POSIX Extended Regular
  146.       Expressions.
  147.  
  148.       Unfortunately, this change may affect your AutoSelect and Kill patterns.
  149.  
  150.       The GNU implementation of the POSIX function regcomp() uses an excessive 
  151.       amount of memory for large regular expressions. I may change the 
  152.       implementation again in a future version.
  153.  
  154.     - The installation procedure now gives step-by-step instructions. Just
  155.       type 'make' to get started.
  156.  
  157.     - When skim constructs a reply to an article which already has a
  158.       'References:' header line, skim now appends the message ID of the
  159.       article at the end of the 'References:' line as required by RFC-1036.
  160.       Previously, skim put the elements of the 'References:' line in the
  161.       wrong order.
  162.  
  163.     - Skim now correctly handles folded header lines as required by RFC-822.
  164.  
  165.     - When skim gets the full name or the email address of the author from
  166.       the "From:" header line, it now removes an empty trailing pair of
  167.       brackets. For example, when the "From:" header line says
  168.       "foo@bar.org ()", skim converts it to "foo@bar.org".
  169.  
  170.     - By default, skim no longer includes a "Path:" header line in the articles
  171.       it constructs. Skim now recognizes the environment variable SKIMPATH.
  172.       When skim constructs a new article or a reply, the value of SKIMPATH is
  173.       entered in the "Path:" header line. When SKIMPATH is not defined, skim
  174.       does not include a "Path:" header line. The use of SKIMPATH is not
  175.       recommended, since the "Path:" header line is best left to the news
  176.       server.
  177.  
  178.     - Skim now includes the "Date:" and "Lines:" header line in the articles
  179.       it constructs as required by RFC-1036. These header lines are
  180.       automatically updated when skim posts an article.
  181.  
  182.     - Skim is now more strict when it posts an article. It updates some
  183.       headerlines ("Date:" and "Lines:"), it fixes some headerlines that the 
  184.       user may have damaged (e.g. "From:") and it rejects an article when a 
  185.       mandatory headerline is missing (e.g. "Subject:"). The article which is 
  186.       kept in $SKIMDIR/posted is an exact copy of the article that was posted 
  187.       by skim.
  188.  
  189.     - Skim now sorts the newsgroups in $SKIMDIR/Admin/AllNewsGroups. This
  190.       makes the .diff much more useful, especially when you change to another
  191.       news server.
  192.  
  193.     - You can now set the environment variable SKIMLENGTHLINES. This
  194.       determines the number of digits in the "number of lines" column
  195.       in the header lines.
  196.  
  197.     - Minor changes to the README and the user interface.
  198.  
  199.   0.8.1 -> 0.8.2
  200.  
  201.     - Fixed a core dump which could occur with version 0.8.1 when you performed
  202.       'skim subjects' and when you pressed the 'Get New Subjects' button in 
  203.       xskim.
  204.  
  205.   0.6 -> 0.8.1
  206.  
  207.     - Older versions of skim fetched only the Subject header line, and you had
  208.       to select articles based on the subject alone.
  209.  
  210.       Skim now also fetches the Author (from the From header line) and the 
  211.       Lines header line (which tells you the number of lines in the article). 
  212.       AutoSelect and Kill patterns are supported on the Author field.
  213.  
  214.     - Skim now uses the `XOVER' NNTP-extension instead of `XHDR'. XOVER is
  215.       an NNTP-extension for access to the News OverView (NOV) database. This
  216.       is becoming a defacto standard for accessing header information via NNTP.
  217.  
  218.       It is theoretically possible that skim no longer works for some people
  219.       (if your news server supports XHDR, but not XOVER). Sorry about that.
  220.  
  221.     - The file format of the files in $SKIMDIR/Subjects has changed. When you
  222.       use the command line interface, you can no longer select subjects by
  223.       inserting a space or a TAB on the first position. Instead you must
  224.       change the '-' on the first position to a '+'.
  225.  
  226.     - xskim now uses a fixed font in the subject selection window to preserve
  227.       the tabular layout of the header lines.
  228.  
  229.     - Skim now uses pseudo-threading. Pseudo-threading means bringing related 
  230.       subjects together by sorting the subject lines (ignoring the "Re: " 
  231.       prefix).
  232.  
  233.     - Drastically reduced the overhead of subject fetching on the client
  234.       platform. Both the number of processes created and the amount of
  235.       file system I/O is reduced. Sorting (for pseudo-threading) is done
  236.       efficiently in memory.
  237.  
  238.     - When skim calls m4 to preprocess a pattern file, it will first change 
  239.       it's working directory to the directory with the pattern file. Skim 
  240.       version 0.6 ran in your home directory, and used the -I option of m4 to 
  241.       find the include files in the pattern directory. Unfortunately, this 
  242.       could cause m4 to include files in your home directory instead of a file 
  243.       with the same name in your pattern directory. I've added some notes to 
  244.       the USER'S GUIDE section to clarify how you can specify the location of
  245.       include files.
  246.  
  247.     - In AutoSelect and Kill patterns, the interval operator ('{' and '}')
  248.       didn't work. This is fixed now. But please note that the pattern
  249.       "{,2}" doesn't work as expected. Use "{0,2}" instead.
  250.  
  251.     - Implemented a kludge for the INN news server. In some circumstances INN
  252.       requires the newsreader to issue the non-NNTP "mode reader" command to
  253.       start talking NNTP. This is explained in the INN FAQ. Skim now sends the
  254.       "mode reader" command when you append ":inn" to the hostname in
  255.       NNTPSERVER. You don't normally need to use this workaround.
  256.  
  257.  
  258.   0.4 -> 0.6
  259.  
  260.     - Skim supports regular expressions to automatically select and kill
  261.       subjects. When you define your regular expressions carefully, you will
  262.       spend less time skimming subjects.
  263.  
  264.       When you use this new functionality, you must have the GNU m4
  265.       preprocessor.
  266.  
  267.     - When the environment variable SKIMEDITOR is set, xskim will use the
  268.       user-defined editor instead of the builtin editor to edit new articles
  269.       and replies.
  270.  
  271.     - Skimming articles in xskim can now be done with one mouse click per
  272.       article, instead of three. In this way you will spend less time skimming
  273.       articles. The following changes were made to make this possible:
  274.  
  275.       * The command 'skim delete' and the 'Delete Article' button in xskim no
  276.         longer physically remove the article file, but move it to
  277.         $SKIMDIR/Deleted. Xskim no longer asks for confirmation when you press
  278.         'Delete Article'.
  279.  
  280.       * Introduced the command 'skim keep' and the button 'Keep Article' in
  281.         xskim to move article files to $SKIMDIR/Kept.
  282.  
  283.       * Xskim automatically advances to the next article when you press 
  284.         'Delete article' or 'Keep article'.
  285.  
  286.       * The files in $SKIMDIR/Deleted are physically removed by the command 
  287.         'skim cleanup', which does ask for confirmation.
  288.  
  289.     - Performance improvements:
  290.  
  291.       * Skim builds it's index files much faster when performing 'skim articles'
  292.         and 'skim indexes'.
  293.  
  294.       * When skim performs 'skim articles' (when you press the button 'Get 
  295.         Selected Articles') skim no longer creates a session with the news 
  296.         server when no articles are selected in a group.
  297.  
  298.     - Some minor improvements in xskim:
  299.  
  300.       * more descriptive labels on the buttons.
  301.  
  302.       * The current article is highlighted when skimming articles.
  303.       
  304.       * The current newsgroup is shown in the window title.
  305.  
  306.     - Resolved an installation problem with xskim. The wish interpreter no
  307.       longer needs to be in /usr/local/bin. It may be anywhere in your PATH.
  308.  
  309.     - Xskim now recognizes selected subjects as skim does (1 or more spaces or
  310.       TABs starting at the first position).
  311.  
  312.     - Skim no longer uses fixed size buffers which may have caused it to crash 
  313.       when encountering very long lines.
  314.  
  315.     - Some minor changes in the installation procedure.
  316.  
  317.   0.1 -> 0.4
  318.  
  319.     - Integrated a graphical interface for skim contributed by Christoph
  320.       Neerfeld. This was originally released as a separate package called
  321.       skim_tcl. The graphical interface has been renamed to xskim and it is
  322.       now integrated in the skim package. Both the command line interface
  323.       (skim) and the graphical interface (xskim) will be supported in future
  324.       releases (if any :-) ).
  325.  
  326.     - The README now describes both the command line interface (skim) and the
  327.       graphical interface (xskim).
  328.  
  329.     - The number of parallel connections to the NNTP server is now
  330.       configurable by means of the environment variable SKIMPROCESSES. The
  331.       default is 4. Set this to a higher number if you think this will improve
  332.       the utilization of your dialup line. Set this to a lower number (e.g. 1)
  333.       when either your machine or the news server is overloaded, or when your
  334.       news server limits the maximum number of concurrent connections per
  335.       client IP address.
  336.  
  337.       This change is a considerable performance improvement when you are
  338.       subscribed to many newsgroups. Older versions of skim overloaded the
  339.       client and the news server with one concurrent process per newsgroup.
  340.  
  341.     - The Makefile and the installation procedure now assume that skim is
  342.       unpacked in /usr/src and the executables are installed in /usr/bin.
  343.       You must now be root to install skim, therefore. Also, you must
  344.       remove the executables which the Makefile of skim 0.1 installed in
  345.       $HOME/bin.
  346.  
  347.     - Implemented 'skim newsgroups', which delivers a list of all valid
  348.       newgroups in $SKIMDIR/Admin/AllNewsGroups. This command is not yet
  349.       supported by the graphical interface (xskim).
  350.  
  351.     - Added the command 'skim delete ArticleFile' to delete an article and
  352.       also update skim's index files. You should no longer use the 'rm'
  353.       command to remove an article.
  354.  
  355.     - Added the command 'skim indexes' to completely regenerate all of skim's
  356.       index files. You don't normally need to use this command. Should skim's
  357.       index files ever get out of date (for example, when you use the file
  358.       manager or the 'rm' command to remove an article file, instead of using
  359.       'skim delete'), you can use the command 'skim indexes' to regenerate the
  360.       index files.
  361.  
  362.     - Implemented 'skim version' to print the version of skim on standard
  363.       output.
  364.  
  365.     - Fixed bug with TAB representation which caused skim not to fetch articles
  366.       which were selected by inserting a TAB (inserting spaces did work).
  367.  
  368.     - Allow comment lines in SubscribedNewsGroups: lines with '#' on the
  369.       first position are ignored.
  370.  
  371.     - The command 'skim replyto' now expects to find the articles in
  372.       $SKIMDIR/Articles. It used to rely on the current working directory.
  373.  
  374.     - skim now preceeds your ~/.signature with a line with two dashes and a
  375.       space ("-- "). This is a standard which is recognized by many
  376.       newsreaders. I'm not sure if this is an 'official' standard.
  377.  
  378.     - Fixed bug in 'skim newarticle'. The shell reported an error
  379.       'Ambiguous redirect'.
  380.  
  381.     - Fixed bug in NewArticle and ReplyTo. When these scripts were called
  382.       from the command line, the shell reported a syntax error. Now the
  383.       scripts report an error, since you're not supposed to call them from
  384.       the command line :-).
  385.  
  386.     - xskim now also supports the default value ~/Skim for the environment
  387.       variable SKIMDIR. It used to raise an error when SKIMDIR was not
  388.       defined.
  389.  
  390.     - xskim now also uses the optional environment variable SKIMORGANIZATION
  391.       when constructing a new article.
  392.  
  393.     - xskim no longer requires the environment variable SKIMREPLYTO when
  394.       constructing a new article. This variable is optional.
  395.  
  396.     - xskim now updates the "Groups" list after "Get New Subjects" is performed.
  397.  
  398.     - xskim no longer raises an error when you double click the left mouse
  399.       button or click "Okay" in an empty "Post file" window.
  400.  
  401.     - xskim no longer raises an error when you click the left mouse button
  402.       in an empty "Groups" list in the "Subjects" windows.
  403.  
  404.     - xskim no longer raises an error when you click the left mouse button in
  405.       an empty Subjects list in the Articles window.
  406.  
  407.     - xskim now asks for confirmation when you click the "Cleanup" button.
  408.  
  409.     - xskim no longer asks for confirmation when you click the "Get Selected
  410.       Articles" button.
  411.  
  412.     - xskim now asks if you want to save the changes when you leave the Subject
  413.       selection window.
  414.  
  415.     - xskim is no longer confused by articles which contain the string
  416.       "Subject:".
  417.  
  418.     - When you click the "Articles" button, xskim shows only the groups in
  419.       which there actually are articles present. It used to show all groups
  420.       the user is subscribed to. Also, xskim constructs the group list much
  421.       faster by using index files.
  422.  
  423.     - skim moved to sunsite.unc.edu:/pub/Linux/system/News/readers.
  424.  
  425.     - My e-mail address has changed.
  426.  
  427.  
  428. KNOWN BUGS
  429.     - AutoSelect and Kill patterns for the Author field are matched after
  430.       truncation of the Author field. This causes your patterns to depend on
  431.       the current value of $SKIMLENGTHAUTHOR.
  432.     - Unselecting subjects in xskim appends the subjects to the end of the list,
  433.       not in the right pseudo-thread. I don't think I will fix this, since I'd
  434.       rather spend my time on real threading.
  435.  
  436. WISH LIST
  437.     - Filter crosspostings.
  438.     - Support for pure NNTP servers and servers with only the XHDR extension.
  439.     - Button to move a file back from skipped to subjects.
  440.     - "Kill subject/author in this/all newsgroup" buttons.
  441.     - Optionally show/don't show the header lines in an article.
  442.     - Support options to change fonts in xskim.
  443.     - A better way to set skim options. There are too many environment
  444.       variables already.
  445.     - Don't remove unselected subjects on 'skim articles'. Provide an explicit
  446.       'catchup' command/button instead. Automatically remove the subjects which
  447.       are no longer available on the news server, using the first/last article
  448.       number information from the server.
  449.     - Hotkeys in xskim.
  450.     - Allow the user to read and select subjects or articles while skim is
  451.       busy fetching things from the news server.
  452.     - Split up the README. Write manual pages or documentation in HTML.
  453.     - Organize the sources in a directory structure, with hierarchical
  454.       makefiles. Object files in a library.
  455.     - Support (un)subscribing to newsgroups in the graphical interface.
  456.     - Support the command 'skim newsgroups' in the graphical interface.
  457.     - Support maintenance of Kill patterns and AutoSelect patterns in the
  458.       graphical interface.
  459.     - Support Undelete article in the graphical interface.
  460.     - Show more clearly when xskim is busy and when it is finished.
  461.       How about a per-newsgroup progress indicator.
  462.     - Support "Reply by e-mail" and "CC to poster by email".
  463.     - Transparent compression and decompression of local articles.
  464.     - Script to make newsbatch for rnews.
  465.     - More functionality for managing articles.
  466.     - Automatic uudecode/uuencode.
  467.     - Implement hook somewhere to support automatic dialup and hangup in
  468.       order to minimize the connect time.
  469.     - Support for multiple servers.
  470.     - Check if all required software is present.
  471.  
  472. COPYRIGHT
  473.  
  474.     skim - Offline news reading package optimized for slow lines.
  475.     Copyright (C) 1996  Rene W.J. Pijlman
  476.  
  477.     This program is free software; you can redistribute it and/or modify
  478.     it under the terms of the GNU General Public License as published by
  479.     the Free Software Foundation; either version 2 of the License, or
  480.     (at your option) any later version.
  481.  
  482.     This program is distributed in the hope that it will be useful,
  483.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  484.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  485.     GNU General Public License for more details.
  486.  
  487.     You should have received a copy of the GNU General Public License
  488.     along with this program; if not, write to the Free Software
  489.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  490.  
  491.  
  492. CREDITS
  493.  
  494.     Changes for Tcl 4.7 and Tk 4.0 came from Joel Young <jdyoung@erinet.com>.
  495.     Some other people have send me diffs for these versions as well, but I 
  496.     lost them when I run some experimental script as root :-(
  497.  
  498.     The graphical interface (now called xskim) was contributed by Christoph
  499.     Neerfeld <chris@apouni.meb.uni-bonn.de>. I've made many changes to it
  500.     since the first release.
  501.  
  502.  
  503. VERSION
  504.  
  505.     Skim version 0.8.4.
  506.     $Header: /home/rene/sys/CVS_MasterSourceRepository/skim/README,v 1.16 1996/02/18 11:40:21 rene Exp $
  507.  
  508.  
  509. INSTALLATION
  510.  
  511.      1) Login as root.
  512.  
  513.      2) Put skim-0.8.4.tgz in /usr/src.
  514.  
  515.      3) Unpack:
  516.  
  517.             cd /usr/src
  518.             tar xfz skim-0.8.4.tgz
  519.  
  520.      4) Build and install:
  521.  
  522.         make
  523.  
  524.     And follow the step-by-step instructions. Basically, these instructions
  525.     tell you to do:
  526.  
  527.         make depend
  528.         make all
  529.         make test
  530.         make install
  531.  
  532.     and optionally
  533.  
  534.         make clean
  535.  
  536. UNINSTALLATION
  537.  
  538. To uninstall skim do:
  539.  
  540.     cd /usr/src/skim-0.8.4
  541.     make uninstall
  542.  
  543.  
  544. CONFIGURATION
  545.  
  546. Mandatory steps:
  547.  
  548.     1)  Set the environment variable NNTPSERVER in your .profile. It must
  549.         contain the host name of your NNTP news server.
  550.  
  551.     2)  Set the environment variable SKIMFROM in your .profile. It must
  552.         contain your name and E-mail address, in one of the formats allowed
  553.         by RFC-1036. Examples of all valid formats are:
  554.  
  555.              R.W.Pijlman@inter.NL.net
  556.              R.W.Pijlman@inter.NL.net (Rene Pijlman)
  557.              Rene Pijlman <R.W.Pijlman@inter.NL.net>
  558.  
  559.         Don't forget to put double quotes around these strings in your .profile,
  560.         since they contain spaces.
  561.  
  562.     3)  Make sure that the following directories are in your PATH:
  563.  
  564.           - /bin
  565.           - /usr/bin
  566.           - The directory containing the `wish' interpreter of Tcl/Tk. This
  567.             is typically /usr/bin or /usr/local/bin.
  568.  
  569. Optional steps:
  570.  
  571.     4)  Optionally set the environment variable SKIMDIR in your .profile. It
  572.         must contain the location of the directory structure which skim will
  573.         create. When SKIMDIR is not defined, skim will create the directory
  574.         structure in ~/Skim.
  575.  
  576.     5)  Optionally set the environment variable SKIMREPLYTO in your .profile.
  577.         If you do, it must contain your name and E-mail address in the same
  578.         format as described above for SKIMFROM. The SKIMREPLYTO variable will
  579.         cause a 'Reply-To:' line to be included in the articles which skim
  580.         creates for you. See RFC-822 for the semantics of this line.
  581.  
  582.     6)  Optionally set the environment variable SKIMORGANIZATION in your
  583.         .profile. This will cause an 'Organization:' line to be included in the
  584.         articles which skim creates for you. See RFC-1036 for the semantics of
  585.         this line.
  586.  
  587.     7)  Optionally set the environment variable TMPDIR in your .profile. Skim
  588.         will use this directory for temporary files. It defaults to /tmp.
  589.  
  590.     8)  Optionally set the environment variable SKIMPROCESSES in your .profile.
  591.         This variable determines the maximum number of concurrent processes that
  592.         talk to the NNTP server. The default is 4. Set it to a higher number if
  593.         you think this will improve the utilization of your dialup line. Set it
  594.         to a lower number (e.g. 1) when either your machine or the news server
  595.         is overloaded, or when your news server limits the maximum number of
  596.         concurrent connections per client IP address.
  597.  
  598.     9)  Optionally set the environment variable SKIMEDITOR in your .profile.
  599.         xskim will use this user-defined editor instead of the builtin editor 
  600.         to edit new articles and replies. You can popup a graphical editor or
  601.         a terminal emulator window with a traditional character mode editor. 
  602.     Some examples:
  603.  
  604.         SKIMEDITOR="rxvt -e vi"; export SKIMEDITOR
  605.         SKIMEDITOR="xedit"; export SKIMEDITOR
  606.  
  607.     You cannot open a character mode editor directly. E.g. the following
  608.     will not work
  609.  
  610.         SKIMEDITOR="vi"; export SKIMEDITOR  # Wrong!
  611.  
  612.     The external editor will be called with exactly one argument: the
  613.     full path name of the article file. You should insure that your editor
  614.     does not create any other files in its current working directory.
  615.  
  616.     10) Optionally create a .signature file in your home directory. Skim will
  617.         append it to all articles it constructs.
  618.  
  619.     11) Optionally set the environment variable SKIMPATH in your .profile.
  620.         When skim constructs a new article or a reply, the value of SKIMPATH 
  621.     is entered in the "Path:" header line. When SKIMPATH is not defined, 
  622.     skim does not include a "Path:" header line. See RFC 1036 for the 
  623.     semantics of this line. The use of SKIMPATH is not recommended, 
  624.     since the "Path:" header line is best left to the news server.
  625.  
  626.     12) Optionally set the environment variable SKIMLENGTHLINES. This 
  627.     determines the number of digits in the "number of lines" column
  628.     in the header lines. The default value is 4. When the number of lines
  629.     will not fit (e.g. > 9,999), skim will display stars (*) in this
  630.     column. Don't change SKIMLENGTHLINES when there are existing files
  631.     in the $SKIMDIR/Subjects directory, since this will confuse skim.
  632.  
  633.     13) Note: skip this step when this is the first time you use skim.
  634.  
  635.     Optionally set the environment variable SKIMAUTOSUBJECT to
  636.     "CaseSensitive" or "CaseInsensitive" in you .profile. When this
  637.     variable is set, skim will automatically select and kill articles
  638.     by matching the Subject with regular expressions which you must define.
  639.         See the USER'S GUIDE section for details.
  640.  
  641.     Optionally set the environment variable SKIMAUTOAUTHOR to
  642.     "CaseSensitive" or "CaseInsensitive" in you .profile. When this
  643.     variable is set, skim will automatically select and kill articles
  644.     by matching the Author with regular expressions which you must define.
  645.     See the USER'S GUIDE section for details.
  646.  
  647.     Optionally set the environment variable SKIMLENGTHAUTHOR. This
  648.     determines the length of the Author column in the header lines.
  649.     The default value is 20. Skim will truncate Authors at this length
  650.     to preserve the tabular layout of the header lines. When you change
  651.     the length of the Author column, you may also have to change your
  652.     AutoSelect and Kill patterns for the Author field. Don't change
  653.     SKIMLENGTHAUTHOR when there are existing files in the
  654.     $SKIMDIR/Subjects directory, since this will confuse skim.
  655.  
  656. For example, my .profile contains:
  657.  
  658.        export NNTPSERVER=news1.inter.nl.net
  659.        export SKIMDIR=~/News
  660.        export SKIMFROM="Rene Pijlman <R.W.Pijlman@inter.NL.net>"
  661.        export SKIMREPLYTO="R.W.Pijlman@inter.NL.net"
  662.        export SKIMAUTOSUBJECT="CaseInsensitive"
  663.        export SKIMAUTOAUTHOR="CaseSensitive"
  664.        export SKIMEDITOR="rxvt -e vi"
  665.        export M4PATH=$SKIMDIR/Patterns/CommonIncludeFiles
  666.        export PATH=/bin:/usr/bin:/usr/local/bin:$PATH
  667.  
  668. Logout and login again to initialize your window manager and shell with the
  669. changes in .profile.
  670.  
  671.  
  672. GETTING STARTED USING THE COMMAND LINE INTERFACE
  673.  
  674. Fire up your dial-up link, and try the command:
  675.  
  676.     skim subjects
  677.  
  678. This may take a while, since skim creates it's directory structure, subscribes
  679. you to a couple of default news groups, and fetches all 'Subject:' lines in
  680. those news groups. Don't worry: once you're up-to-date in your newsgroups
  681. skim will be much faster.
  682.  
  683. You may now disconnect your dial-up link.
  684.  
  685. The directory $SKIMDIR/Subjects should now contain one file per newsgroup
  686. line with the article number, the author, the number of lines in the article
  687. and the subject. For example:
  688.  
  689. - 55213      Rene Pijlman                69  Help! My CD-ROM doesn't work!!!
  690. - 55215      BCHAMPOU@bcsc02.gov.bc.ca   37  Re: Help! My CD-ROM doesn't work!!!
  691. - 55216      david guertin               15  Re: how to pronounce Linux?
  692. - 55214      Steve Sampson               44  How to remove LILO from hard disk?
  693.  
  694.  
  695. In the subject files, select articles by changing the '-' on the first position
  696. to a '+'. Don't change the format of the file.
  697.  
  698. When you're done selecting articles, fire up your serial line and try the
  699. command:
  700.  
  701.     skim articles
  702.  
  703. You may now disconnect your dial-up link again.
  704.  
  705. The directory $SKIMDIR/Articles should now contain the articles you selected.
  706.  
  707. There is only one step left: edit the file $SKIMDIR/Admin/SubscribedNewsGroups.
  708. Replace the default set of newsgroups with your own preferences. If you don't
  709. know the names of all the newsgroups, use skim to retrieve a list from the news
  710. server. See also the description of the command 'skim newsgroups' in the
  711. USER'S GUIDE section.
  712.  
  713. The first time you run 'skim subjects' again, skim will fetch all 'Subject:'
  714. lines in your groups. Skim will remember the current article number and will
  715. fetch only the 'Subject:' lines of new articles in all subsequent 'skim
  716. subjects' commands. This will make skim much faster.
  717.  
  718.  
  719. GETTING STARTED USING THE GRAPHICAL INTERFACE
  720.  
  721. Fire up your dial-up link and start xskim. Press the button 'Subjects' in the
  722. upper left corner.
  723.  
  724. Press the button 'Get New Subjects' in the lower right corner. This may take a
  725. while, since skim creates it's directory structure, subsribes you to a couple
  726. of default news groups, and fetches all 'Subject:' lines in those news groups.
  727. Don't worry: once you're up-to-date in your newsgroups skim will be much
  728. faster.
  729.  
  730. You may now disconnect your dial-up link.
  731.  
  732. Now you can select a newsgroup using the left mouse button, and select subjects
  733. using the 'Select' button.
  734.  
  735. When you're done selecting articles, fire up your serial line and start xskim.
  736. Press the button 'Get Selected Articles' in the lower right corner.
  737.  
  738. When xskim has fetched the Articles you may disconnect your dial-up link again.
  739. Now you can select a newsgroup and an article using the left mouse button.
  740.  
  741. There is only one step left: edit the file $SKIMDIR/Admin/SubscribedNewsGroups.
  742. This is currently not supported by the graphical interface, so you'll have
  743. to use a text editor. Replace the default set of newsgroups with your own
  744. preferences. If you don't know the names of all the newsgroups, use skim to
  745. retrieve a list from the news server. See also the description of the
  746. command 'skim newsgroups' in the USER'S GUIDE section.
  747.  
  748. The first time you fetch subjects again, xskim will fetch all 'Subject:'
  749. lines in your groups. xskim will remember the current article number and will
  750. fetch only the 'Subject:' lines of new articles in all subsequent 'skim
  751. subjects' commands. This will make xskim much faster.
  752.  
  753.  
  754. USER'S GUIDE
  755.  
  756. Retrieving the list of valid newsgroups from the server
  757. -------------------------------------------------------
  758. To retrieve the list of valid newsgroups, use the command:
  759.  
  760.    skim newsgroups
  761.  
  762. The list will be placed in $SKIMDIR/Admin/AllNewsGroups. If there was an old
  763. version of the list, it will be kept in AllNewsGroups.previous in the same
  764. directory and a `diff' will be placed in AllNewsGroups.diff.
  765.  
  766. This is currently not supported by the graphical interface, so you'll have
  767. to use the 'skim newsgroup' command.
  768.  
  769. Warning: the command 'skim newsgroups' typically requires a couple of minutes
  770. to complete over a 14K4 line.
  771.  
  772.  
  773. Subscribing to newsgroups
  774. -------------------------
  775. Edit $SKIMDIR/Admin/SubscribedNewsGroups. It must contain one newsgroup per
  776. line. Lines with '#' on the first position are ignored. For example:
  777.  
  778.     comp.os.linux.announce
  779.     comp.os.linux.answers
  780.     comp.os.linux.development.apps
  781.     comp.os.linux.development.system
  782.     comp.os.linux.hardware
  783.     comp.os.linux.misc
  784.     comp.os.linux.networking
  785.     comp.os.linux.setup
  786.     comp.os.linux.x
  787.     # comp.os.msdos.advocacy doesn't exist. Better not bring up the idea :-)
  788.     comp.unix.programmer
  789.     gnu.announce
  790.     news.announce.important
  791.  
  792.  
  793. Fetching subjects
  794. -----------------
  795. Use the command:
  796.  
  797.     skim subjects
  798.  
  799. Skim will contact the news server, and fetch the relevant header lines of the
  800. articles in the groups in $SKIMDIR/Admin/SubscribedNewsGroups. The subject
  801. lines are added to a per-newsgroup file in $SKIMDIR/Subjects.
  802.  
  803. Alternatively, you can use the graphical interface (xskim). Press the button
  804. 'Subjects' in the top line of xskim. Press the button 'Get New Subjects' in the
  805. lower right corner. After xskim has finished fetching the subject lines you 
  806. will see a list of all newsgroups with new articles in the listbox just above 
  807. the button 'Get New Subjects'.
  808.  
  809. Skim sorts the header lines by subject (ignoring the 'Re:' prefix) to bring 
  810. related subjects together (pseudo-threading). Skim does not currently support 
  811. real threading based on the 'References:' header line.
  812.  
  813.  
  814. Selecting articles
  815. ------------------
  816. Edit the files in $SKIMDIR/Subjects. Select subjects by replacing the '-' on
  817. the first position by a '+'.
  818.  
  819. Alternatively, you can use the graphical interface (xskim). The available 
  820. Subjects are divided in two groups: selected for retrieval and not selected
  821. for retrieval. To move one or more articles to the other group, do the
  822. following:
  823.  
  824.   1) Press the left mouse button on an article, move the mouse to another 
  825.      subject and unpress the left button.
  826.  
  827.   2) Click the right mouse button or press the "Select" or "Unselect button.
  828.  
  829.  
  830. Automatically select and kill subjects and authors
  831. --------------------------------------------------
  832. You can define regular expressions (patterns) to automatically select and kill
  833. subjects and authors. This is best explained by an example. An AutoSelect file
  834. for subjects in comp.os.linux.misc could contain the following patterns:
  835.  
  836.     skim
  837.     ^ann(oun)?ce:
  838.  
  839. When skim fetches a subject which contains the string "skim", or "ANNCE:" or 
  840. "Announce:" at the beginning of the line, it is automatically selected for 
  841. retrieval. You can still unselect the subject when you wish. When you use the 
  842. graphical interface, the automatically selected subjects appear in the 
  843. "Selected subjects" window.
  844.  
  845. For example, an AutoSelect file for authors can contain the following pattern:
  846.  
  847.    ^Arthur Dent$
  848.  
  849. For example, a Kill file for comp.os.linux.misc can contain the following 
  850. patterns:
  851.  
  852.     dosemu
  853.     wine
  854.     remove lilo from (hard)? ?disk
  855.  
  856. When skim fetches the header line which matches any of these patterns, the 
  857. header line is ignored. It will not appear in the subjects file and it will 
  858. not be visible in the graphical interface.
  859.  
  860. I will not give an example of a kill file for authors, but I guess you can
  861. think of some :-)
  862.  
  863. To have skim automatically select and kill subjects you must set the environment
  864. variable SKIMAUTOSUBJECT to either "CaseSensitive" or "CaseInsensitive". When 
  865. you set it to CaseInsensitive, skim ignores case distinctions in both patterns
  866. and subjects. The first time you start skim with this variable set, skim will 
  867. create the following directories:
  868.  
  869.     $SKIMDIR/Patterns/Subject/AutoSelect
  870.     $SKIMDIR/Patterns/Subject/Kill
  871.     $SKIMDIR/Killed
  872.  
  873. These directories contain one file per newsgroup you are subscribed to. Edit
  874. the files in $SKIMDIR/Patterns/Subject/AutoSelect and
  875. $SKIMDIR/Patterns/Subject/Kill and add your patterns.
  876.  
  877. To have skim automatically select and kill authors you must set the environment
  878. variable SKIMAUTOAUTHOR to either "CaseSensitive" or "CaseInsensitive". When 
  879. you set it to CaseInsensitive, skim ignores case distinctions in both patterns
  880. and authors. The first time you start skim with this variable set, skim will 
  881. create the following directories:
  882.  
  883.     $SKIMDIR/Patterns/Author/AutoSelect
  884.     $SKIMDIR/Patterns/Author/Kill
  885.     $SKIMDIR/Killed
  886.  
  887. These directories contain one file per newsgroup you are subscribed to. Edit
  888. the files in $SKIMDIR/Patterns/Author/AutoSelect and
  889. $SKIMDIR/Patterns/Author/Kill and add your patterns.
  890.  
  891. Please note that skim obtains the Author field by extracting the real name from
  892. the `From' header field of the article. The following formats defined by 
  893. RFC-1036 are recognized:
  894.  
  895.       1) email@subdomain.domain (Real Name)
  896.       2) Real Name <email@subdomain.domain>
  897.       3) email@subdomain.domain
  898.  
  899. In format 2, double quote characters (") are removed, since some posters
  900. appear to use formats like:
  901.  
  902.       4) "Real Name" <email@subdomain.domain>
  903.  
  904. A trailing string "()" is removed from the resulting Author field, since
  905. some posters use formats like:
  906.  
  907.       5) email@subdomain.domain ()
  908.  
  909. By default, skim truncates author names at 20 characters. You can change the
  910. length of the Author column by setting the environment variable
  911. SKIMLENGTHAUTHOR. When you change the length of the Author column, you may also
  912. have to change your AutoSelect and Kill patterns for the Author field. Make
  913. sure there are no files in $SKIMDIR/Subjects when you change the value of
  914. SKIMLENGTHAUTHOR since the format of these files will change. Skim will
  915. misbehave when it encounters files in $SKIMDIR/Subjects with a format which
  916. is inconsistent with the current setting of SKIMLENGTHAUTHOR.
  917.  
  918. AutoSelect patterns take precedence over Kill patterns: when an AutoSelect
  919. pattern is matched, the Kill patterns are ignored.
  920.  
  921. The subject lines which are automatically killed by skim are appended to the
  922. files in $SKIMDIR/Killed, so you can review the effect of your kill patterns.
  923.  
  924. Note that skim never cleans up the files in $SKIMDIR/Killed automatically. See
  925. also the section 'Cleaning up'.
  926.  
  927. The regular expressions recognized by skim are the POSIX Extended Regular
  928. Expressions. You can find more information about regular expression matching
  929. in the GNU info pages on 'regex'.
  930.  
  931. Note: When you use long and complicated expressions, skim may consume a large 
  932.       amount of memory and CPU time when it fetches subjects from the news
  933.       server. In that case you should consider reducing the value of the
  934.       environment variable SKIMPROCESSES to reduce the overall load on your
  935.       machine.
  936.  
  937. To allow you to define expressions for multiple newsgroups, skim preprocesses
  938. your pattern files with the m4 macro preprocessor. The default pattern files
  939. created by Skim contains:
  940.  
  941.     include(AllGroups)
  942.  
  943. Note: there must be no blanks between 'include' and '('.
  944.  
  945. By default, skim creates an empty 'AllGroups' file in the pattern directories.
  946. Any pattern you enter in this file applies to all newsgroups. You can define
  947. other include files for groups of newsgroups if you wish. For example, I have
  948. created a pattern file called 'Linux' which is included in every Linux-related
  949. newsgroup.
  950.  
  951. You can specify the location of your include files in one of three ways:
  952.  
  953.   1) Use a path to specify the include file. For example:
  954.  
  955.      include(/home/rene/skim_patterns/kill_msdos)
  956.      include(../../CommonIncludeFiles/kill_msdos)
  957.  
  958.   2) Use only the file name. In that case the include file must be in the
  959.      same directory as the pattern file that includes it. You cannot use one
  960.      include file for both the Kill directory and the AutoSelect directory in 
  961.      this way.
  962.  
  963.   3) Set the environment variable M4PATH. m4 expects it to contain a colon-
  964.      separated list of directories, which will be searched in order.
  965.  
  966. When you want to preview the preprocessed pattern files, you should use the
  967. following commands:
  968.  
  969.     cd $SKIMDIR/Patterns/Subject/AutoSelect
  970.     m4 newsgroup
  971.  
  972.     cd $SKIMDIR/Patterns/Subject/Kill
  973.     m4 newsgroup
  974.  
  975.     cd $SKIMDIR/Patterns/Author/AutoSelect
  976.     m4 newsgroup
  977.  
  978.     cd $SKIMDIR/Patterns/Author/Kill
  979.     m4 newsgroup
  980.  
  981. You can also use other features of the m4 preprocessor which you find useful.
  982. Refer to the GNU info files for details.
  983.  
  984. Skim ignores empty lines and comment lines in the preprocessed pattern files.
  985. Comments must start with '#' on the first position of the line.
  986.  
  987. Skim constructs one regular expression from all lines in a pattern file. For
  988. example, a pattern file with the following regular expressions:
  989.  
  990.     abc
  991.     # Comments here.
  992.     def
  993.  
  994.     ghi
  995.  
  996. is equivalent to the following regular expression:
  997.  
  998.     abc|def|ghi
  999.  
  1000.  
  1001. Automatically retrieving all new articles in a newsgroup
  1002. --------------------------------------------------------
  1003. When you want to use skim to automatically retrieve all new articles in a
  1004. newsgroup, you should subscribe to that newsgroup (by inserting the newsgroup in
  1005. $SKIMDIR/Admin/SubscribedNewsGroups), enable automatic selection (by setting the
  1006. environment variable SKIMAUTOSUBJECT) and enter the following pattern in the 
  1007. AutoSelect file ($SKIMDIR/Patterns/Subject/AutoSelect/<newsgroup>):
  1008.  
  1009.     .*
  1010.  
  1011. All new articles in the newsgroup will be retrieve when you execute the
  1012. commands:
  1013.  
  1014.     skim subjects
  1015.     skim articles
  1016.  
  1017. The articles will be stored in $SKIMDIR/Articles.
  1018.  
  1019. These commands will also retrieve the subjects and the selected articles in all
  1020. other newsgroups you are subscribed to. When you want to avoid that, you should
  1021. create multiple skim directory structures by running skim with a different
  1022. value in the environment variable SKIMDIR. In every skim directory structure
  1023. you can subscribe to a different set of newsgroups.
  1024.  
  1025.  
  1026. Fetching articles
  1027. -----------------
  1028. Use the command:
  1029.  
  1030.     skim articles
  1031.  
  1032. Skim will contact the news server, and fetch the complete articles which you
  1033. have selected in $SKIMDIR/Subjects.
  1034.  
  1035. The articles will be stored in per-article files in $SKIMDIR/Articles.
  1036.  
  1037. When you've read an article, you should use one of the following commands:
  1038.  
  1039.     skim delete ArticleFile
  1040.     skim keep ArticleFile
  1041.  
  1042. These commands move the article to $SKIMDIR/Deleted and $SKIMDIR/Kept
  1043. respectively and update skim's index files.
  1044.  
  1045. The subject lines which you did not select, are appended to the per-newsgroup
  1046. files in $SKIMDIR/Skipped. The subject files in $SKIMDIR/Subjects are removed.
  1047.  
  1048. Alternatively, you can use the graphical interface (xskim). Press the button
  1049. 'Articles' on the top line. Press the button 'Get Selected Articles' in the 
  1050. lower right corner to execute 'skim articles'. When xskim has finished fetching
  1051. the selected articles, you can select a newsgroup in the listbox. Xskim will
  1052. present a list of the subject lines of all available articles in the newsgroup.
  1053. Select a subject line to view the article. When you've read an article, you 
  1054. should press the 'Delete Article' button or the 'Keep Article' button.
  1055.  
  1056. Note that skim never cleans up the files in $SKIMDIR/Skipped and 
  1057. $SKIMDIR/Deleted automatically. See also the section 'Cleaning up'.
  1058.  
  1059. Skim never removes files from $SKIMDIR/Kept. This is a historical archive of
  1060. the articles which you've decided to keep.
  1061.  
  1062.  
  1063. Replying to articles
  1064. --------------------
  1065. When you want to reply to an article in $SKIMDIR/Articles, use the command:
  1066.  
  1067.    skim replyto ArticleFile
  1068.  
  1069. I reply to articles by typing "vi *" in $SKIMDIR/Articles, and within vi
  1070. give the command ":! skim replyto %".
  1071.  
  1072. On the commandline you should provide only the filename. Skim will prepend
  1073. $SKIMDIR/Articles to the filename. The reply will be placed in $SKIMDIR/Post
  1074. for editing. Be carefull with the syntax of the header.
  1075.  
  1076. Alternatively, you can use the graphical interface (xskim). When you have
  1077. selected an article, press the button 'Reply' on the bottom line. This will
  1078. execute 'skim replyto ArticleFile' and present the reply using either the
  1079. builtin editor of xskim or the editor that you've specified in the environment
  1080. variable SKIMEDITOR.
  1081.  
  1082. If you have written a reply to a specific article and select this article
  1083. later on, you'll see a label 'Reply exists' in the bottom line. If you now
  1084. press 'Reply', xskim won't create a new reply file, but opens the old one so
  1085. you can edit the file once again before posting it. You can also delete it, if
  1086. you don't want to reply anymore.
  1087.  
  1088. Skim uses the following information to construct the reply:
  1089.  
  1090.     - Various header lines of the original article.
  1091.     - The environment variable SKIMFROM.
  1092.     - The environment variable SKIMFREPLYTO (optional).
  1093.     - The output of hostname(1).
  1094.     - The body of the original article.
  1095.     - Your ~/.signature, if it exists.
  1096.  
  1097. Skim will take care of the 'Subject:' and 'References:' requirements in
  1098. RFC-1036.
  1099.  
  1100.  
  1101. Creating a new article
  1102. ----------------------
  1103. To create a new article, use the command:
  1104.  
  1105.    skim newarticle
  1106.  
  1107. Skim will prompt you for a filename, the subject, and a list of newsgroups
  1108. this article is to be posted to. Skim also uses the following information:
  1109.  
  1110.     - The environment variable SKIMFROM.
  1111.     - The environment variable SKIMREPLYTO (optional).
  1112.     - The output of hostname(1).
  1113.     - Your ~/.signature, if it exists.
  1114.  
  1115. The article will be placed in $SKIMDIR/Post for editing. Be carefull with the
  1116. syntax of the header.
  1117.  
  1118. You may also provide the required information on the command line. In that case
  1119. skim will not prompt you interactively. The syntax is:
  1120.  
  1121.    skim Filename NewsGroups Subject
  1122.  
  1123. For example:
  1124.  
  1125.    skim newarticle RemoveLilo comp.os.linux.setup,comp.os.linux.misc \
  1126.                    "How to remove LILO from hard disk?"
  1127.  
  1128. Alternatively, you can use the graphical interface (xskim). Press the button
  1129. 'New' on the top line. A new window will be displayed and you're asked to type
  1130. the name of the local file to create, the list of newsgroups to post to and the
  1131. subject line of your article. When you specify all of this information, xskim
  1132. will present your new article using the builtin text editor of xskim or in the
  1133. editor that you've specified in the environment variable SKIMEDITOR. When you 
  1134. don't specify all of the information required by xskim, xskim will not create 
  1135. a new article.
  1136.  
  1137.  
  1138. Posting articles
  1139. ----------------
  1140. There are two commands for posting articles:
  1141.  
  1142.    skim post ArticleFile ...
  1143.    skim postall
  1144.  
  1145. The first command will post the specified articles in $SKIMDIR/Post. The second
  1146. command will post all articles in $SKIMDIR/Post. Please make sure that you have
  1147. finalized your articles before posting.
  1148.  
  1149. When skim posts an article, it will automatically update some headerlines 
  1150. ("Date:" and "Lines:"), it fixes some headerlines that you may have damaged 
  1151. (e.g. "From:") and it rejects an article when a mandatory headerline is missing
  1152. (e.g. "Subject:"). 
  1153.  
  1154. The articles which were posted successfully are moved to $SKIMDIR/Posted.
  1155. The article which is kept in $SKIMDIR/posted is an exact copy of the article 
  1156. that was posted by skim. Skim will never remove articles from $SKIMDIR/Posted.
  1157. This is a historical archive of your articles. 
  1158.  
  1159. Alternatively, you can use the graphical interface (xskim). To post all
  1160. articles in $SKIMDIR/Post, press the button 'Postall' on the top line. To
  1161. post a specific article, press 'Post' on the top line, and select the
  1162. article you want to post.
  1163.  
  1164. If you want to edit your article before posting, press 'Open Article' and select
  1165. the file you want to edit. If you want to delete one of your articles, press
  1166. 'Delete Outgoing Article' in the top line and select the article file.
  1167.  
  1168. Cleaning up
  1169. -----------
  1170. Skim accumulates information in the following directories:
  1171.  
  1172.     - $SKIMDIR/Skipped
  1173.     - $SKIMDIR/Killed
  1174.     - $SKIMDIR/Deleted
  1175.  
  1176. You should regularly remove the files in these directories by executing the
  1177. command:
  1178.  
  1179.     skim cleanup
  1180.  
  1181. Alternatively, you can use the graphical interface (xskim). Press the button
  1182. 'Cleanup' in the top line to execute 'skim cleanup'.
  1183.  
  1184. Skim also accumulates information in the directory $SKIMDIR/Kept. This is a
  1185. historical archive in the articles that you have decided to keep. Skim never
  1186. removes articles from this directory.
  1187.  
  1188. The text editor in xskim
  1189. ------------------------
  1190. The text editor in xskim is used for viewing articles, creating new articles,
  1191. and replying to articles. The editing aktions which are supported are
  1192. documented in the BINDINGS section of the text(3) manual page that comes with
  1193. Tk.
  1194.  
  1195. The most important editing aktions are:
  1196.  
  1197.    - Pressing mouse button 1 positions the insertion cursor.
  1198.    - Dragging mouse button 1 selects characters.
  1199.    - The view in the text can be adjusted with mouse button 2 (horizontal
  1200.      and vertical scrolling).
  1201.    - Control+v inserts the current selection just before the insertion
  1202.      cursor.
  1203.    - Control+d deletes the selected characters.
  1204.